package pe.com.certicom.moviles.util;

import java.math.BigDecimal;
import java.text.DecimalFormat;
import java.text.DecimalFormatSymbols;

import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.math.NumberUtils;

public class NumberUtil {

	private static DecimalFormat formateadorEntero = new DecimalFormat("#########");
	private static DecimalFormat formateadorDecimal = new DecimalFormat("#########.##");
	static{
		DecimalFormatSymbols a = new DecimalFormatSymbols();
		a.setDecimalSeparator('.');
		formateadorDecimal.setDecimalFormatSymbols(a);
	}
	
	public static BigDecimal getNumero(String numero){
		BigDecimal numeroSalida = BigDecimal.ZERO;
		try{
			 numeroSalida = new BigDecimal(numero);
		}catch(Exception e){
		}
		return numeroSalida;
	}
	
	public static boolean esEntero(String numero){
		boolean resultado = true;
		try{
			 Integer.parseInt(numero);
		}catch(Exception e){
			resultado = false;
		}
		return resultado;
	}
	
	
	public static String formatearImei(String numeroImei){
		String imeiFormateado = "";
		if(numeroImei!=null)imeiFormateado = !"".equals(numeroImei.trim())?StringUtils.leftPad(numeroImei.trim(), 15, "0"):"";
		return imeiFormateado;
	}
	
	public static String formatearEntero(double decimal){
		return formateadorEntero.format(decimal);
	}
	
	public static String formatearDecimal(double decimal){
		return formateadorDecimal.format(decimal);
	}
	
	public static boolean esNumeroCelular(String numeroCelular){
		if(!StringUtils.isBlank(numeroCelular)){
			String numeroCelularTrim = numeroCelular.trim();
			if(numeroCelularTrim.length()==9){
				return NumberUtils.isDigits(numeroCelularTrim);	
			}else{
				return false;
			}
		}else{
			return false;
		}
	}
	
	public static boolean esCodigoCentroCosto(String codigoCentroCosto){
		if(!StringUtils.isBlank(codigoCentroCosto)){
			String codigoCentroCostoTrim = codigoCentroCosto.trim();
			return codigoCentroCostoTrim.length()==3;
		}else{
			return false;
		}
	}
	
}
